package com.poetize.plus.entity.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.ArrayList;
import java.util.List;

/**
 * @author zuosy
 * @created 2024/3/29 14:14
 */
@Data
@Schema(name = "菜单树VO")
public class MenuTreeVO {

    @Schema(description = "id")
    private Long id;

    @Schema(description = "父菜单id", hidden = true)
    private Long parentId;

    @Schema(description = "菜单名称")
    private String name;

    @Schema(description = "排序", hidden = true)
    private Integer sort;

    @Schema(description = "路由地址")
    private String path;

    @Schema(description = "菜单图标")
    private String icon;

    @Schema(description = "组件路径")
    private String component;

    @Schema(description = "组件名")
    private String componentName;

    @Schema(description = "是否禁用")
    private Boolean visible;

    @Schema(description = "子菜单集合")
    private List<MenuTreeVO> child = new ArrayList<>();
}
